Implementing Recursive Algorithms within Hardware using Finite State Machines
نویسنده
چکیده
This paper proposes a method of combining the concepts of recursive algorithms and functional programming in hardware design. Though recursion is readily available in functional programming languages, a translation step is required to convert the recursion in such functional program to a synthesizable hardware specification. This proposal uses the idea of Finite State Machines used in [5], combined with the Haskell to VHDL compiler proposed in [1]. As a conclusion, a short proof of concept of the framework is given, along with an example algorithm (a naive fibonacci sequence implementation) in plain Haskell, using types that can easily be converted to a CλaSH compliant subset of Haskell.
منابع مشابه
A Representation Theorem for Primitive Recursive Algorithms
We formalize the algorithms computing primitive recursive (PR) functions as the abstract state machines (ASMs) whose running length is computable by a PR function. Then we show that there exists a programming language (implementing only PR functions) by which it is possible to implement any one of the previously defined algorithms for the PR functions in such a way that their complexity is pres...
متن کاملFPGA-based implementation of recursive algorithms
The paper suggests a novel method for implementing recursive algorithms in hardware. The required support for recursion has been provided through a modular and a hierarchical specification of a control unit that can be translated to an implementation of the respective hardware circuit on the basis of a recursive hierarchical finite state machine and through a mechanism that permits the contents...
متن کاملOn-the-Fly Reachability and Cycle Detection for Recursive State Machines
Searching the state space of a system using enumerative and on-the-fly depth-first traversal is an established technique for model checking finite-state systems. In this paper, we propose algorithms for on-the-fly exploration of recursive state machines, or equivalently pushdown systems, which are suited for modeling the behavior of procedural programs. We present algorithms for reachability (i...
متن کاملMealy Finite State Machines: an Evolutionary Approach
Synchronous finite state machines are very important for digital sequential designs. Among other important aspects, they represent a powerful way for synchronising hardware components so that these components may cooperate adequately in the fulfillment of the main objective of the hardware design. In this paper, we propose an evolutionary methodology synthesis finite state machines. First, we o...
متن کاملOn the Complexity of LtlModel-Checking of Recursive State Machines
Recursive state machines (rsms) are models for programs with recursive procedural calls. While Ltl model-checking is Exptimecomplete on such models, on finite-state machines, it is Pspace-complete in general and becomes Np-complete for interesting fragments. In this paper, we systematically study the computational complexity of modelchecking rsms against several syntactic fragments of Ltl. Our ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011